﻿//  Copyright (c) 2011 Ray Liang (http://www.dotnetage.com)
//  Licensed MIT: http://www.opensource.org/licenses/mit-license.php

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DNA.Mvc.Community
{
    public interface IPostRepostiory:IRepository<Post>
    {
        /// <summary>
        /// Delete the post/ thread by specified id.
        /// </summary>
        /// <remarks>When the posts has related posts that it only mark as deleted.</remarks>
        /// <param name="id"></param>
        /// <param name="reason"></param>
        /// <param name="deleteBy"></param>
        void Delete(int id, string reason, string deleteBy);

        IEnumerable<Post> GetThreadPosts(int threadID, int pageIndex, int pageSize, out int totalRecords);

        //Post Reply(int postID, int parentID, Post post);

        void Audit(int id, string userName);
    }
}
